ARMEdit: HPC Services

I/O Port Access

I/O Port Access

The following I/O port assignments are currently used:
PortNameAccess type
&2E0PORT_STATUSWord read
&2E1PORT_CMDWord write
&2E2PORT_DATAByte or word read/write

The following sequence of operations should occur to perform an HPC call:

  • Read PORT_STATUS. The possible return codes are:
    CodeDescription
    &454DSystem is available and ready.
    &4D45System is currently busy processing another HPC call, and cannot currently be used for another call.

    Any other code indicates that the service is not available.

  • Write &0000 to PORT_CMD to start transfer of data.
  • Write the HPC packet data to PORT_DATA as either bytes or words.
  • Write &0001 to PORT_CMD to perform the HPC call.
  • Write &0002 to PORT_CMD to start reading the reply.
  • Read the HPC reply packet from PORT_DATA as either bytes or words.
  • Write &0003 to PORT_CMD to reset the HPC system.
The port based HPC packets have the same 16384 byte limit that proper HPC packets have.

Note that only HPC services provided by the ARMEdit module can be called using this I/O port system; other services can only be called via the normal HPC system. However, the HPC identifier is still checked.


[Contents] [Up] Copyright © Alexander Thoukydides, 2001